

#ifndef __PROC_MNGR_H__
#define __PROC_MNGR_H__


#define		H_PROCESS_NONE			((H_PROCESS)0)
#define		H_PROCESS_FIRST			((H_PROCESS)-1)
#define		H_PROCESS_LAST			((H_PROCESS)-2)
#define		H_PROCESS_REMOVE		((H_PROCESS)-3)
#define		H_PROCESS_BACKGROUND		((H_PROCESS)-4)
#define		H_PROCESS_ACTIVE		H_PROCESS_FIRST
#define		H_PROCESS_BROADCAST		((H_PROCESS)-5)
#define		H_PROCESS_CURRENT		((H_PROCESS)-6)
#define		H_PROCESS_NEXT			((H_PROCESS)-7)

#define		FOREGROUND_PRIORITY		0

//	Application
#define		MAX_APP_NAME			32
#define		MAX_APP_PATH			64

#define		MAX_DLL_SLOT_NUM		128

//	Type of Process Status
typedef enum
{
	PROCSTATUS_NONE				= 0,
	PROCSTATUS_ACTIVATE,
	PROCSTATUS_DEACTIVATE,
	PROCSTATUS_BACKGROUND,
	PROCSTATUS_FREE
} E_PROCSTATUS;

//	Type of Process Find Options
typedef enum
{
	PROCFIND_FIRST				= 0,
	PROCFIND_CURRENT,
	PROCFIND_PREV,
	PROCFIND_NEXT,
	PROCFIND_LAST,
	PROCFIND_FIRST_BACKGROUND,
	PROCFIND_LAST_BACKGROUND,
	PROCFIND_PARENT,
	PROCFIND_CHILD,
	PROCFIND_SIBLING
} E_PROCFIND;

//	Type of Process Type
typedef enum
{
	PROCTYPE_FOREGROUND			= 0,
	PROCTYPE_BACKGROUND,
	PROCTYPE_CHILD,
	PROCTYPE_SIBLING,
	PROCTYPE_ASCENDANT,
	PROCTYPE_DESCENDANT
} E_PROCTYPE;

//	Type of Process Information Options
typedef enum
{
	PROCINFO_ACCESSLEVEL				= 0,
	PROCINFO_CODEAREA,
	PROCINFO_DATAAREA,
	PROCINFO_STATUS,
	PROCINFO_PRIORITY,
	PROCINFO_TIMER,
	PROCINFO_APPNAME,
	PROCINFO_APPDRIVE,
	PROCINFO_APPDIR
} E_PROCINFO;


typedef void *H_PROCESS;



#endif

